/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.cursojava.server.bd.livro;

import br.com.cursojava.client.dao.livro.GWTServiceLivro;
import br.com.cursojava.client.dao.livro.LivroTGWT;
import br.com.cursojava.server.bd.ConexaoPostgres;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.eclipse.jdt.internal.compiler.ast.ForeachStatement;

/**
 *
 * @author Zacarias
 */
public class GWTServiceLivroImpl extends RemoteServiceServlet implements GWTServiceLivro {

    @Override
    public Boolean inserir(LivroTGWT livroTGWT) {
        try {
            ConexaoPostgres conexao = new ConexaoPostgres();
           conexao.getConnection();
           PreparedStatement ps = conexao.getConection().prepareStatement
                   ("Insert into \"Livro\" (\"titulo\", \"autor\") Values (?,?)");
           ps.setString(1, livroTGWT.getNome());
           ps.setString(2, livroTGWT.getAutor());
           ps.execute();
           //String comando = "Insert into \"Livro\" (\"titulo\", \"autor\") Values"
           //        + "(" + livroTGWT.getNome() + ", "
           //        + livroTGWT.getAutor() + ");";
           
           conexao.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        } 
        return true;
    }

    @Override
    public Vector<LivroTGWT> consultarLivros() {
        Vector<LivroTGWT> retorno = new Vector<LivroTGWT>();
        try {
            ConexaoPostgres conexao = new ConexaoPostgres();
            conexao.getConnection();
            conexao.setResultSet("Select * from \"Livro\"");
            conexao.resultSet.beforeFirst();
            while(conexao.resultSet.next()){
                LivroTGWT livro = new LivroTGWT();
                livro.setAutor(conexao.resultSet.getString("autor"));
                livro.setNome(conexao.resultSet.getString("titulo"));
                retorno.add(livro); 
            
            }
            conexao.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return retorno;
        
    }


    
}
